package cn.sstech.IM.webserver.user.service;

import java.util.Collection;
import java.util.List;

import cn.sstech.IM.util.result.IBaseResult;
import cn.sstech.IM.webserver.user.model.Group;
import cn.sstech.IM.webserver.user.model.ImGroupUserData;
import cn.sstech.IM.webserver.user.model.NoticeEntity;
import cn.sstech.IM.webserver.user.model.UserFriend;

public interface UserChatService {

	IBaseResult addFriend(UserFriend userFriend);

	IBaseResult delFriend(UserFriend userFriend);

	IBaseResult addUserGroup(Group group, Long userId);

	IBaseResult delUserGroup(Group group, Long uid);

	IBaseResult getUserGroup(Long uid);

	IBaseResult addGroupMember(Group group, Long uid);

	IBaseResult delGroupMember(Group group, Long uid);

	IBaseResult pullOfflineMsg(Long id);
	
	List<Group> getUserGroupData(Long uid);

	List<ImGroupUserData> getSysServerGroups();

	IBaseResult noticeAdd(NoticeEntity noticeEntity, Long id, String account);

	Collection<? extends NoticeEntity> getNoticeByUserId(Long userId);

	IBaseResult noticeReaded(Long noticeId, Long id);

	IBaseResult delFriend(NoticeEntity noticeEntity, Long userId);

	IBaseResult delGroupMember(NoticeEntity noticeEntity, Long userId);
}
